package com.gutsyzhan.bilibili.service;

import com.gutsyzhan.bilibili.domain.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;

public interface VideoService {
    void addVideo(Video video);

    PageResult<Video> pageListVideos(Integer no, Integer size, String area);

    void viewVideoOnlineBySlices(HttpServletRequest request, HttpServletResponse response, String path) throws Exception;

    void addVideoLike(Long userId, Long videoId);

    void deleteVideoLike(Long userId, Long videoId);

    Map<String, Object> getVideoLikes(Long userId, Long videoId);

    void addVideoCollection(Long userId, VideoCollection videoCollection);

    void deleteVideoCollection(Long userId, Long videoId);

    Map<String, Object> getVideoCollections(Long userId, Long videoId);

    void addVideoCoin(Long userId, VideoCoin videoCoin);

    Map<String, Object> getVideoCoins(Long userId, Long videoId);

    void addVideoComment(Long userId, VideoComment videoComment);

    PageResult<VideoComment> pageListVideoComments(Long videoId, Integer no, Integer size);

    Map<String, Object> getVideoDetails(Long videoId);
}
